#ifndef ONLINELIST_H
#define ONLINELIST_H

#include "common.h"
#include "protocol.h"

// 定义 `文件描述符 和 用户帐号` 关联结构体
// sockfd:useraccount
typedef struct SockUseraccPair{
    char account[USER_ACCOUNT];  // 帐号
    int  sockfd;                 // fd
    char ingroup[1];             // 是否在群里
    struct SockUseraccPair* next;
}node;

// 维护在线人列表
node* onlineList;

void initOnlineList();
bool isOnline(int fd);
void TraverseOnlineList();
void addOnlineList(char* acc,int fd,char ingroup);
void delOnlineList(int fd);
char* searchOnlineListAcc(int fd);
int searchOnlineListFd(char* name);


#endif
